package factory_method.actors.framework;

import factory_method.roles.TemplateFactory;

abstract public class Factory implements TemplateFactory {
    public final Product create(String owner) {
        Product p = createProduct(owner);
        registerProduct(p);
        return p;
    }

    protected abstract Product createProduct(String owner);

    protected abstract void registerProduct(Product product);
}
